# -*- coding: utf-8 -*-
# @Time    : 2024/7/16 20:35
# @Author  : Jonny
# @File    : LuckPinyinHelperUtils.py
# @Describe: 拼音转换辅助类

from pypinyin import pinyin, Style

class LuckPinyinHelperUtils(object):

    # 将汉字转换为简拼
    def hanzi_to_simple_pin(self, str_value):
        # 使用pinyin函数转换汉字为拼音，并指定拼音风格
        pinyin_list = pinyin(str_value, style=Style.FIRST_LETTER)  # 拼音风格，Style.NORMAL为全拼，Style.FIRST_LETTER为简拼

        # 扁平化列表，因为pinyin函数返回的是二维列表
        flat_pinyin_list = [word[0] for word in pinyin_list]

        # 将拼音列表转换为字符串，以空格分隔
        pinyin_str = ''.join(flat_pinyin_list)

        return pinyin_str

    # 将汉字转换为全拼
    def hanzi_to_full_pin(self, str_value):
        # 使用pinyin函数转换汉字为拼音，并指定拼音风格
        pinyin_list = pinyin(str_value, style=Style.NORMAL)  # 拼音风格，Style.NORMAL为全拼，Style.FIRST_LETTER为简拼

        # 扁平化列表，因为pinyin函数返回的是二维列表
        flat_pinyin_list = [word[0] for word in pinyin_list]

        # 将拼音列表转换为字符串，以空格分隔
        pinyin_str = ''.join(flat_pinyin_list)

        return pinyin_str